package com.test.listener;

import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import com.test.entity.Jobs;
import com.test.service.JobsService;

/**
 * ServletContext的监听器
 * 
 * @author 赵旭
 *
 */
// @WebListener注解修饰的类,是Web项目中的监听器
@WebListener
public class ApplicationListener implements ServletContextListener {

	/**
	 * Default constructor.
	 */
	public ApplicationListener() {
	}

	/**
	 * 监听ServletContext的销毁事件(服务器关闭事件)
	 * 
	 * @author 赵旭
	 */
	public void contextDestroyed(ServletContextEvent sce) {
	}

	/**
	 * 监听ServletContext的创建(初始化)事件(服务器启动事件)
	 * 
	 * @author 赵旭
	 */
	public void contextInitialized(ServletContextEvent sce) {
		// 当服务器启动时,将所有的职位信息存到最大的范围对象中
		JobsService service = new JobsService();
		try {
			// 获得所有职位信息
			List<Jobs> selectAll = service.selectAll();
			// 获得最大的范围对象
			ServletContext application = sce.getServletContext();
			// 将职位信息以jobsList名字存入最大的范围对象中
			application.setAttribute("jobList", selectAll);
		} catch (ClassNotFoundException | SQLException e) {
			e.printStackTrace();
		}
	}

}
